package fr.utbm.tx52.stamp.logic;

import android.os.Environment;
import java.util.HashSet;
import java.util.Set;

/**
 * *
 *
 * Classe publique permettant de regrouper l'ensemble des attributs constants
 * invariants qui sont utilis�s dans l'application. Les attributs de cette
 * classe ne sont pas utilis�s pour l'affichage d'informations � l'�cran. Se
 * r�f�rer au fichier au format xml intitul� "strings.xml" situ� dans
 * l'arborescence "res\values\" pour visualiser l'ensemble des messages affich�s
 * � l'�cran.
 *
 * @author Julien GONZALVES (julien.gonzalves@utbm.fr) Laurent RUBY
 * (laurent.ruby@utbm.fr)
 *
 */
public class Constant
{

	// Attributs non li�s � une activit� en particulier
	public static final String PICTURES_PATH_FOLDER = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Pictures/Stamp/";
	// Permet de multiplier par un facteur le temps d'affichage d'un message dans un toast
	public static int TOAST_DURATION_MULTIPLICATOR = 3;
	// Permet de d�caler vers la droite le toast
	public static final int TOAST_NUDGE_POSITION_TO_THE_RIGHT = 0;
	// Permet de d�caler vers le bas le toast
	public static final int TOAST_NUDGE_POSITION_TO_THE_BOTTOM = 0;
	// Attributs li�s � l'activit� n�1 : GalerieProjectActivity
	// Par d�faut, on affiche la 1�re photo de la liste
	public static final int GALLERY_INDEX_OF_THE_FIRST_PICTURE_DISPLAYED = 0;
	// Correspond aux dimensions des vignettes et de l'agrandissement de l'image dans la galerie
	public static final int GALLERY_WIDTH_PICTURE = 150;
	public static final int GALLERY_HEIGHT_PICTURE = 150;
	public static final int GALLERY_ZOOM_WIDTH_PICTURE = 100;
	// Valeur attribu�e lorsque la ville d'un fichier est inconnue
	public static final String FILE_NAME_UNKNOWN = "nom inconnu";
	// Correspond � l'ordre de tri appliqu� par d�faut
	// true  : croissant
	// false : d�croissant
	// Par d�faut, on applique un tri d�croissant
	public static final boolean DEFAULT_SORT = false;
	// Correspond au type de tri appliqu� par d�faut
	// 0 : par date (par d�faut)
	// 1 : par ville
	// Par d�faut, on applique un tri par date
	public static final int CURRENT_TYPE_OF_SORT_SELECTED = 0;
	// Valeur attribu�e lorsque les m�tadonn�es d'un fichier ne permettent pas de d�finir une date
	public static final String EXIF_FILE_DATE_UNKNOWN = "Date inconnue";
	// Valeurs attribu�s aux coordonn�es lorsqu'elles ne sont pas d�finies dans les m�tadonn�es d'un fichier
	public static final double LATITUDE_NOT_DEFINED = 999.99;
	public static final double LONGITUDE_NOT_DEFINED = 999.99;
	// Extension des fichiers de type son
	public static final String FILE_SOUND_EXTENTION = ".3gp";
	// Attributs li�s � l'activit� n�2 : PictureInFullScreen
	// Bundle entre les activit�s n�1 et n�2 permettant de d�terminer si le bundle transf�r� contient la cl� de l'index d'une image
	public static final String BUNDLE_KEY_PICTURE_INDEX = "PictureIndex";
	// Bundle entre les activit�s n�1 et n�4 permettant de d�terminer si le bundle tranf�r� contient la cl� des coordonn�es (longitude et latitude)
	public static final String BUNDLE_KEY_PICTURE_LATITUDE = "latitude";
	public static final String BUNDLE_KEY_PICTURE_LONGITUDE = "longitude";
	// Attributs li�s � l'activit� n�4 : Maps
	// Valeur attribu�e lorsque la ville d'un fichier est inconnue
	public static final String FILE_CITY_UNKNOWN = "inconnue";
	// Valeurs correspondant aux coordonn�es de la ville de Belfort par d�faut
	public static final double LATITUDE_DEFAULT_VALUE = 47.637942;
	public static final double LONGITUDE_DEFAULT_VALUE = 6.862813;
	public static final String FILE_TEXT_EXTENSION = "txt";
	public static final Set<String> FILE_IMAGE_EXTENSION = new HashSet<String>();

	static
	{
		FILE_IMAGE_EXTENSION.add("jpeg");
		FILE_IMAGE_EXTENSION.add("jpg");
		FILE_IMAGE_EXTENSION.add("JPG");
		FILE_IMAGE_EXTENSION.add("png");
		FILE_IMAGE_EXTENSION.add("PNG");
		FILE_IMAGE_EXTENSION.add("gif");
		FILE_IMAGE_EXTENSION.add("GIF");
		FILE_IMAGE_EXTENSION.add("bmp");
		FILE_IMAGE_EXTENSION.add("BMP");
		FILE_IMAGE_EXTENSION.add("jps");
	}
}
